package net.qiqbframework.config;


import net.qiqbframework.modelling.domain.AggregateFactory;
import net.qiqbframework.modelling.domain.AggregateModel;
import net.qiqbframework.modelling.repository.Repository;

/**
 * 聚合配置接口
 *
 * @param <A> 聚合实际类型
 */
public interface AggregateConfiguration<A> extends ModuleConfiguration {

    Repository<A> repository();

    AggregateModel<A> aggregateModel();

    Class<A> aggregateType();

    AggregateFactory<A> aggregateFactory();


}
